lib: el3_runtime: initialise actlr_el1 to hardware defaults
authorVarun Wadekar <vwadekar@nvidia.com>
Tue, 8 May 2018 17:52:36 +0000 (10:52 -0700)
committerVarun Wadekar <vwadekar@nvidia.com>
Wed, 9 May 2018 15:58:15 +0000 (08:58 -0700)
commit2ab9617ef2fa6f60c59d58f61e2d5c45bf965b1f
treead16a186e8d426c368079fd09624f1b0c4b1c73f
parent22fa3a2759b37094c8bcc02f7de95c00992526c3
lib: el3_runtime: initialise actlr_el1 to hardware defaults

The context management library initialises the CPU context for the
secure/non-secure worlds to zero. This leads to zeros being stored
to the actual registers when we restore the CPU context, during a
world switch. Denver CPUs dont expect zero to be written to the
implementation defined, actlr_el1 register, at any point of time.
Writing a zero to some fields of this register, results in an
UNDEFINED exception.

This patch bases the context actlr_el1 value on the actual hardware
register, to maintain parity with the expected settings

Change-Id: I1c806d7ff12daa7fd1e5c72825494b81454948f2
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
lib/el3_runtime/aarch64/context_mgmt.c